<html>
<head>
<title>BookEX Functional Requirements</title>
<style type="text/css">
ol {
	margin: 0;
	padding: 0
}

p {
	margin: 0
}

.c0 {
	line-height: 1.15;
	padding-top: 12.0pt;
	text-align: left;
	direction: ltr;
	margin: 0;
	padding-bottom: 2.0pt
}

.c3 {
	line-height: 1.15;
	padding-top: 14.0pt;
	text-align: left;
	direction: ltr;
	margin: 0;
	padding-bottom: 4.0pt
}

.c11 {
	line-height: 1.15;
	padding-top: 18.0pt;
	text-align: left;
	direction: ltr;
	margin: 0;
	padding-bottom: 4.0pt
}

.c1 {
	line-height: 1.15;
	padding-top: 0pt;
	text-align: left;
	direction: ltr;
	padding-bottom: 0pt
}

.c5 {
	font-size: 14pt;
	text-decoration: underline;
	font-weight: bold
}

.c10 {
	width: 468.0pt;
	background-color: #ffffff;
	padding: 72.0pt 72.0pt 72.0pt 72.0pt
}

.c6 {
	font-size: 14pt;
	font-weight: bold
}

.c2 {
	font-size: 12pt;
	font-weight: bold
}

.c9 {
	font-size: 12pt;
	font-style: italic
}

.c8 {
	font-size: 18pt
}

.c7 {
	font-weight: bold
}

.c4 {
	height: 11pt
}

body {
	color: #000000;
	font-size: 11pt;
	font-family: Arial
}

h1 {
	padding-top: 24.0pt;
	color: #000000;
	font-size: 24pt;
	font-family: Arial;
	font-weight: bold;
	padding-bottom: 6.0pt
}

h2 {
	padding-top: 18.0pt;
	color: #000000;
	font-size: 18pt;
	font-family: Arial;
	font-weight: bold;
	padding-bottom: 4.0pt
}

h3 {
	padding-top: 14.0pt;
	color: #000000;
	font-size: 14pt;
	font-family: Arial;
	font-weight: bold;
	padding-bottom: 4.0pt
}

h4 {
	padding-top: 12.0pt;
	color: #000000;
	font-size: 12pt;
	font-family: Arial;
	font-weight: bold;
	padding-bottom: 2.0pt
}

h5 {
	padding-top: 11.0pt;
	color: #000000;
	font-size: 11pt;
	font-family: Arial;
	font-weight: bold;
	padding-bottom: 2.0pt
}

h6 {
	padding-top: 10.0pt;
	color: #000000;
	font-size: 10pt;
	font-family: Arial;
	font-weight: bold;
	padding-bottom: 2.0pt
}
</style>
</head>
<body class="c10">
	<h2 class="c11">
		<a name="h.ps6kxxu10aoy"></a><span class="c7 c8">INFO 490 -
			BookEX Functional Requirements</span>
	</h2>
	<p class="c1">
		<span class="c7">Project Name</span><span>: BookEX</span>
	</p>
	<p class="c1">
		<span class="c7">Team Members</span><span>: Sopheap,
			Lawrence, Michael, Jessica</span>
	</p>
	<p class="c1 c4">
		<span></span>
	</p>
	<p class="c1">
		<span>This document describes the functionality that we plan to
			implement in the BookEX project. Requirements were initially
			generated by the group then refined with the results from a survey.
			The requirements were then re-evaluated presented to potential users
			in an interview. This list is the outcome of a final refinement from
			the group after interview data was considered. We will attempt to
			satisfy each of the following requirements but realize that some may
			need to be sacrificed due to any unforeseen issues. We may also
			extend some of the features to make BookEX more complete if work goes
			better than planned.</span>
	</p>
	<h3 class="c3">
		<a name="h.2yu9rhvlznky"></a><span class="c5">General</span>
	</h3>
	<h4 class="c0">
		<a name="h.smz7xfesymdy"></a><span class="c2">General
			Information Provided to Users</span>
	</h4>
	<p class="c1">
		<span>Users of BookEX should be able to find information about
			the service and the origin of the project. Just like any online
			application, people usually like to know more about something before
			they start using it. Users that visit BookEX may have not heard about
			it except through a search engine. </span>
	</p>
	<h4 class="c0">
		<a name="h.k7l2vehg6kqr"></a><span class="c2">Terms of
			Agreement</span>
	</h4>
	<p class="c1">
		<span>One of the main issues raised in the survey and
			interviews was centered around not getting loaned books back or
			borrowers damaging books. We also need to let users know that BookEX
			is intended to be a service to connect textbook borrowers and
			textbook lenders. We should imform users that the system does not
			facilitate deposit or replacement fees. This may still be a good idea
			if they are unsure about getting their book back in satisfactory
			condition. Thought the service is centered around friends exchanging
			books, we also want to have a basic set of rules to help mitigate
			possible conflicts.</span>
	</p>
	<h4 class="c0">
		<a name="h.upc2hsuf7xu"></a><span class="c2">UW NetID
			Authentication</span>
	</h4>
	<p class="c1">
		<span>Users of the system will be required to have a UW NetID.
			Other concerns raised in our survey were about having a lengthy sign
			up process for BookEX or an additional user name and password to
			remember. Requiring the UW NetID utilizes the single sign-on
			capabilities that is already integrated to other University of
			Washington systems. Using UW NetID will also us to address some of
			the trust concerns posed in our survey responses. Limiting users to
			the UW community will hopefully create some trust between users. </span>
	</p>
	<h4 class="c0">
		<a name="h.6cjfqzlgkuam"></a><span class="c2">Valid Contact
			Information</span>
	</h4>
	<p class="c1">
		<span>Users will need to be able to contact each other. Since
			we are loaning physical books, there needs to be a method for users
			to coordinate when to exchange the books. The BookEX application will
			also need to notify users that they have pending friend and book
			requests. We do not expect users to login to the system each day to
			see if they have any unread messages. Email seems like the logical
			communication channel and was verified in our interviews. Users
			accepted the fact that an online service would send them email
			notifications at periodic times.</span>
	</p>
	<h4 class="c0">
		<a name="h.sz8e51x8m8pf"></a><span class="c2">Privacy Settings</span>
	</h4>
	<p class="c1">
		<span>During the survey, some of the users had issues about
			showing all of their information on the system. Facebook is
			constantly in the news about changes in their privacy settings. Even
			though we are only storing UW NetID&rsquo;s by default, it might
			still be necessary to give the users the ability to change privacy
			settings. Hopefully only allowing users who are friends on BookEX to
			view information will be acceptable for majority of the users.</span>
	</p>
	<h4 class="c0">
		<a name="h.wacia2plq8zf"></a><span class="c2">User Profiles</span>
	</h4>
	<p class="c1">
		<span>Users will be interacting with each other on the system
			and might want to know a little more about each other. During the
			survey, some suggestions included being able to browse all of the
			users in the same degree program or major. Once again, the only thing
			we will forcefully be pulling from users is UW NetID. Allowing users
			to create and edit a profile with their first and last name will
			simplify the friend searching process and hopefully increase the
			utility of BookEX. </span>
	</p>
	<h3 class="c3">
		<a name="h.vfdvs8mmokke"></a><span class="c5">Friends</span>
	</h3>
	<h4 class="c0">
		<a name="h.vbgz1qe0apf2"></a><span class="c2">Add a Friend</span>
	</h4>
	<p class="c1">
		<span>Since users can only borrow textbooks from friends, the
			first thing they need to do is add a new friend. This function allows
			users to add new friends. Based on our survey, users have concern
			about other users damaging or not returning their textbooks. However,
			they are more willing to lend textbooks to friends rather than
			non-friends. Because of time constrain, we will only allow friends to
			borrow textbooks from friends. This will make our system less
			complex.</span>
	</p>
	<h4 class="c0">
		<a name="h.257uiwt6cc4z"></a><span class="c2">Accept or Reject
			a Friend request</span>
	</h4>
	<p class="c1">
		<span>Users have the option to accept or reject a friend
			request. This is to make sure that everyone knows each other. In our
			interviews we asked potential users what they thought about the
			Facebook requesting and accepting friends process and all of them
			thought it was a simple and easy process. Because of that,
			we&rsquo;ve decided to implement a similar, simple process.</span>
	</p>
	<h4 class="c0">
		<a name="h.y886gpr42slf"></a><span class="c2">Search for New
			Friends</span>
	</h4>
	<p class="c1">
		<span>Students should be able to search for new friends by
			name, UW NetID, or email address. Although we only require a user
			name for users, we are hoping that they add names to make the friend
			search function more efficient. We sacrificed the quality of search
			to minimize the registration process. The system will display a
			friend list that includes name, UW NetID , and email address. </span>
	</p>
	<h4 class="c0">
		<a name="h.z31v4cifs5vu"></a><span class="c2">Search for
			Current Friends</span>
	</h4>
	<p class="c1">
		<span>When users have many friends for example hundreds, we
			want them to be able to find their current friends as well. So we
			will implement this function so that they can find their current
			friends and view their friends&rsquo; textbooks. </span>
	</p>
	<h4 class="c0">
		<a name="h.krwjl626iu9s"></a><span class="c2">Remove Friends</span>
	</h4>
	<p class="c1">
		<span>Users should be able to remove their friends. A user
			might have bad experiences with someone like not returning or
			damaging their book. We will also need to create some checks to make
			sure a user cannot remove a friend if they have a currently borrowed
			or lent textbook.</span>
	</p>
	<h4 class="c0">
		<a name="h.7qfxy6h5b9ft"></a><span class="c2">Browse Friends</span>
	</h4>
	<p class="c1">
		<span>Users should be able to browse their current friends. The
			order of the list will need to be sorted in different ways like by
			name, number of books, or major. </span>
	</p>
	<h4 class="c0">
		<a name="h.vd9yy9mp8gto"></a><span class="c2">View Friend
			Profile</span>
	</h4>
	<p class="c1">
		<span>Users should be able to view another users profile. The
			information on a users profile will most likely be a list of books,
			major, department, name and contact information. Our interviews
			indicated that these are some of the things that users would look for
			when wanting to borrow a book. Users can this from the search result
			page.</span>
	</p>
	<h3 class="c3">
		<a name="h.fj767n4cpm2h"></a><span class="c5">Books</span>
	</h3>
	<h4 class="c0">
		<a name="h.bi62j4nkr0ne"></a><span class="c2">Add Books </span>
	</h4>
	<p class="c1">
		<span>Users may add books they currently own to the system.
			They need to add books in order to loan them out to other users which
			is the main purpose of BookEX. When adding a book, the user can enter
			various information about the book such as title, ISBN, author,
			edition, associated course(s), and edition. The data they enter about
			a book will be displayed to other users who search for that
			particular book.</span>
	</p>
	<h4 class="c0">
		<a name="h.m6bgi728ghn8"></a><span class="c2">Remove Books </span>
	</h4>
	<p class="c1">
		<span>Users may remove books they have added to the system.
			This is to account for users who no longer have the book available,
			or simply because they have changed their mind about loaning it out.</span>
	</p>
	<h4 class="c0">
		<a name="h.m6bgi728ghn8"></a><span class="c2">Search for Books
		</span>
	</h4>
	<p class="c1">
		<span>One of the basic functionalities of the system is to
			allow its users to search the system for available books listed by
			other users of the system. They need a way to search for books,
			otherwise they wouldn&rsquo;t know who has the book they want. They
			can search by book title or by ISBN. Another possible criteria to
			search for is by course number. However, for the scope of this
			project and since most interview participants mentioned them, the
			book title and ISBN will suffice.</span>
	</p>
	<h4 class="c0">
		<a name="h.dx5ncpkdu6dg"></a><span class="c2">Borrow/Loan Books
		</span>
	</h4>
	<p class="c1">
		<span>Users will be able to request to borrow a book from
			another user only if both users have established their relationship
			as friends in the system. This is the complimentary function to
			adding books to the system. The lender will have have the option to
			accept or reject the request. If the lender accepts the request, then
			the lender has to mark the book as being loaned after they have
			physically given the book to the borrower. Finally, the borrower
			would then confirm that they have received the book. Everyone that we
			interviewed believed this 4 step process to be fair and reasonable.</span>
	</p>
	<h4 class="c0">
		<a name="h.jp7qqnmo04wp"></a><span class="c2">Display my Books</span>
	</h4>
	<p class="c1">
		<span>A user can display a list of the books that they
			themselves have added to their account. This list would include all
			the books they own, regardless of its loaning availability, and will
			also include the books that they have borrowed from other users as
			well. Some a few survey participants and most interviewees said that
			they could imagine BookEX as a personal inventory system for their
			books.</span>
	</p>
	<h4 class="c0">
		<a name="h.d6uann8hztt"></a><span class="c2">Set loan
			availability of a book</span>
	</h4>
	<p class="c1">
		<span>A user can display a list of the books that they
			themselves have added to their account. This list would include all
			the books they own, regardless of its loaning availability, and will
			also include the books that they have borrowed from other users as
			well.</span>
	</p>
	<h3 class="c3">
		<a name="h.z6dw4c4j5to5"></a><span class="c5">Non-implementations</span>
	</h3>
	<h4 class="c0">
		<a name="h.gsy2ekmeyxe7"></a><span class="c2">Allow Users to
			Specify Fee</span>
	</h4>
	<p class="c1">
		<span>Users will not be able to specify a fee for non-returned
			books. The service of lending books through the system with a fee
			would require that the system use a method of payment, which is not a
			feature that we desire for our system. The point of this system is to
			avoid the exchange of money. This is not to say that users cannot
			make their own terms outside of the system itself with one another in
			order to cover the cost of lost or damaged books. But in the case of
			simply charging a fee for the service of lending is not something
			that we are including as a feature. Commerce is the opposite of our
			intentions for the system which is to allow users to acquire books
			for free.</span>
	</p>
	<h4 class="c0">
		<a name="h.qqbfyt4s64mz"></a><span class="c2">Comment on a user</span>
	</h4>
	<p class="c1">
		<span>Currently we will not have any commenting features
			available. This would require not only a deeper value analysis, but
			also an implementation that is beyond the scope of the project. It is
			not something that we discovered through our survey or interviews to
			be a pressing interest of the users. We are only using email
			notifications for system notifications. Commenting or messaging
			between users can be done with email if they really want to.</span>
	</p>
	<h4 class="c0">
		<a name="h.dsg6wl1q838w"></a><span class="c2">Flag a user</span>
	</h4>
	<p class="c1">
		<span>This would be a great feature for identifying users who
			are notorious for not returning books. It is feature that has both
			positive and negative consequences, and in order for us to evaluate
			which is more beneficial, we would need to do a more in depth value
			scenario and analysis. Flagging a user would make other users aware
			of their reputation but is currently outside of the scope of this
			project. We unfortunately only have a limited amount of time for this
			project and this will not be possible for us to ascertain.</span>
	</p>
	<h4 class="c0">
		<a name="h.xlz73o1xhp4c"></a><span class="c2">Rate a User</span>
	</h4>
	<p class="c1">
		<span>As with the flagging of a user, the rating of a user has
			both positive and negative potential effects. While again, it would
			be great to be able to know another persons reputation for returning
			books, it is something that will have to remain outside of our
			current scope for reasons previously stated.</span>
	</p>
	<h4 class="c0">
		<a name="h.f0sxcojxulsi"></a><span class="c2">Exchange
			Textbooks with non-Friends</span>
	</h4>
	<p class="c1">
		<span>This is one feature that we found through our survey and
			interviews to be undesirable by the prospective users of our system.
			The majority of the people who said that they would share with
			friends said they would not wish to exchange books with non-friends.
			This might be largely due to the trust issue that we found to be
			extremely prevalent in the survey results. The users felt as though
			they needed to know the person that they were going to be exchanging
			books with, at least to some degree. </span>
	</p>
	<h4 class="c0">
		<a name="h.th6iqqttxn8e"></a><span class="c2">Exchange
			Textbooks with non-UW Users</span>
	</h4>
	<p class="c1">
		<span>BookEX is currently only going to be available to UW
			users, due to the UW NetID verification process by which we are
			ensuring basic privacy to those who use it. This does not mean that
			the system may not be implemented in other Universities at some point
			in the future, but at this point, we are focusing only on the UW.
			This therefore eliminates any potential of users using the system to
			exchange books with non-UW users. According to our survey and
			interview results, this would not likely be something that the users
			would feel comfortable doing, as a majority of them desired a way to
			ensure that those who they consider to be &ldquo;friends&rdquo; were
			made to return the books on time. </span>
	</p>
	<p class="c1 c4">
		<span></span>
	</p>
</body>
</html>